
{$CLEO .cs}
//03A4: name_thread 'DRIVEBY' 

0000: NOP


model.Load(#ak47)
model.Load(#COLT45)
model.Load(#tec9)
model.Load(#fam3)
model.Load(#fam2)
model.Load(#fam1)
model.Load(#HUNTLEY)

:DRIVEBY2
wait 0
 
//$CAR = -1
if 
0ADC:   test_cheat "gangs"
jf @DRIVEBY2
wait 0

:Begin2

$PED = -1   
//:PEDS
//wait 0
//if
// 056D:  actor $PED defined
// else_jump @PEDS
//jf @PEDS
//wait 0 
Actor.StorePos($PLAYER_ACTOR, 21@, 22@, 23@)
$WAV16 = Audiostream.Load3D("CLEO\SoundBase\ride.mp3")
//Audiostream.SetPosition($WAV16, $X, $Y, $Z)
//Audiostream.SetPosition($WAV16, -1807.2235, 905.662, 24.8906)



//Actor.StorePos($PLAYER_ACTOR, 17@, 18@, 19@)
//073E: get_car_in_sphere 17@ 18@ 19@ radius 60.0 model -1 handle_as $CAR 
//08E5: get_actor_in_sphere 21@ 22@ 23@ radius 30.0 handle_as $PED  

:PED_HUNT
wait 0 
08E5: get_actor_in_sphere 21@ 22@ 23@ radius 30.0 handle_as $PED  
if 
056D:  actor $PED defined
else_jump  @NO_PED
jf @PED_HUNT

jump @CAR_DRIVEBY

:NO_PED
wait 0
0ACD: show_text_highpriority "There's no peds around here, if you see peds in the streets type it in again." time 2500
jump @DRIVEBY2



:CAR_DRIVEBY

04C4: store_coords_to 1@ 2@ 3@ from_actor $PED with_offset 50.0 0.0 5.0 
02C1: store_to 1@ 2@ 3@ car_path_coords_closest_to 1@ 2@ 3@
04C4: store_coords_to 14@ 15@ 16@ from_actor $PED with_offset 0.0 5.0 0.0 
$SAINTS_CARCOMING1 = Car.Create(#HUNTLEY, 1@, 2@, 3@)
0229: set_car $SAINTS_CARCOMING1 primary_color_to 50 secondary_color_to 50
//053F: set_car $SAINTS_CARCOMING1 tires_vulnerability 1
//car.Angle($SAINTS_CARCOMING1) = 358.8917
//wait 1000
00AE: set_car $SAINTS_CARCOMING1 traffic_behaviour_to 3 
00AE: unknown_set_car $SAINTS_CARCOMING1 to_ignore_traffic_lights  2//--optional, sets car to ignore red-lights and drive around traffic
00AF: set_car $SAINTS_CARCOMING1 driver_behaviour_to  2

car.Health($SAINTS_CARCOMING1) = 5000
//020A: set_car $SAINTS_CARCOMING1 door_status_to 1
//00AE: set_car $SAINTS_CARCOMING1 traffic_behaviour_to 2
//00AF: set_car $SAINTS_CARCOMING1 driver_behaviour_to  1
00AE: unknown_set_car $SAINTS_CARCOMING1 to_ignore_traffic_lights  2
00AD: set_car $SAINTS_CARCOMING1 max_speed_to  30.0

$CARSAINTS1 = Actor.CreateAsDriver(gang6, #fam2, $SAINTS_CARCOMING1)
$CARSAINTS2 = Actor.CreateAsPassenger(gang6, #fam3, $SAINTS_CARCOMING1, 0)
$CARSAINTS3 = Actor.CreateAsPassenger(gang6, #fam3, $SAINTS_CARCOMING1, 1)
$CARSAINTS4 = Actor.CreateAsPassenger(gang6, #fam1, $SAINTS_CARCOMING1, 2)
//020A: set_car $SAINTS_CARCOMING1 door_status_to 3
020A: set_car $SAINTS_CARCOMING1 door_status_to 4
039E: set_actor $CARSAINTS1 locked 1 while_in_car
039E: set_actor $CARSAINTS2 locked 1 while_in_car
039E: set_actor $CARSAINTS3 locked 1 while_in_car
039E: set_actor $CARSAINTS4 locked 1 while_in_car
audiostream.Loop($WAV16, 1)
audiostream.LinkToCar($WAV16, $SAINTS_CARCOMING1) 
actor.Health($PED) = 2500            
0946: set_actor $PED actions_uninterupted_by_weapon_fire 1
0446: set_actor $PED immune_to_headshots 0
05E2: AS_actor $PED kill_actor $CARSAINTS1
05E2: AS_actor $PED kill_actor $CARSAINTS2
05E2: AS_actor $PED kill_actor $CARSAINTS3
05E2: AS_actor $PED kill_actor $CARSAINTS4
0350: set_actor $PED maintain_position_when_attacked 1
0672: AS_actor $PED attack_car $SAINTS_CARCOMING1
07DD: set_actor $PED attack_rate 70 // previously known as temper_to 
02E2: set_actor $PED weapon_accuracy_to 60
Actor.GiveWeaponAndAmmo($PED, pistol , 9999) 

wait 10
Audiostream.PerformAction($WAV16, PLAY)
wait 10
0446: set_actor $CARSAINTS1 immune_to_headshots 0 
actor.Health($CARSAINTS1) = 5500
0446: set_actor $CARSAINTS2 immune_to_headshots 0 
actor.Health($CARSAINTS2) = 5500
0446: set_actor $CARSAINTS3 immune_to_headshots 0 
actor.Health($CARSAINTS3) = 5500
0446: set_actor $CARSAINTS4 immune_to_headshots 0 
actor.Health($CARSAINTS4) = 5500
02E2: set_actor $CARSAINTS1 weapon_accuracy_to 55
07DD: set_actor $CARSAINTS1 attack_rate 55 // previously known as temper_to
Actor.GiveWeaponAndAmmo($CARSAINTS1, ak47 , 9999) 
02E2: set_actor $CARSAINTS2 weapon_accuracy_to 85
07DD: set_actor $CARSAINTS2 attack_rate 85 // previously known as temper_to
Actor.GiveWeaponAndAmmo($CARSAINTS2, tec9 , 9999) 
02E2: set_actor $CARSAINTS3 weapon_accuracy_to 65
07DD: set_actor $CARSAINTS3 attack_rate 75 // previously known as temper_to
Actor.GiveWeaponAndAmmo($CARSAINTS3, tec9 , 9999) 
02E2: set_actor $CARSAINTS4 weapon_accuracy_to 75
07DD: set_actor $CARSAINTS4 attack_rate 65 // previously known as temper_to
Actor.GiveWeaponAndAmmo($CARSAINTS4, ak47 , 9999) 

//07F8: car $CARSAINTS1 follow_car $CAR radius 60.0
:Ped_Dead3
wait 0
if or
actor.Dead($PED)
car.Wrecked($SAINTS_CARCOMING1)
else_jump @Drive_To
jf @Ped_Dead3
audiostream.Release($WAV16)
actor.RemoveReferences($PED)
actor.DestroyInstantly($CARSAINTS1)
actor.DestroyInstantly($CARSAINTS2)
actor.DestroyInstantly($CARSAINTS3)
actor.DestroyInstantly($CARSAINTS4)
car.Destroy($SAINTS_CARCOMING1)
Jump @Begin2
//:Drive_To
//wait 0
//if or
//not actor.Dead($PED)
//not car.Wrecked($SAINTS_CARCOMING1)
//else_jump @Ped_Dead4
:Drive_To
wait 0
Car.DriveTo($SAINTS_CARCOMING1, 14@ 15@ 16@)
0713: actor $CARSAINTS1 driveby_actor $PED car -1 point 0.0 0.0 0.0 radius 1000.0 8 0 firing_rate 70 
0713: actor $CARSAINTS2 driveby_actor $PED car -1 point 0.0 0.0 0.0 radius 1000.0 8 0 firing_rate 70
0713: actor $CARSAINTS3 driveby_actor $PED car -1 point 0.0 0.0 0.0 radius 1000.0 8 0 firing_rate 70
0713: actor $CARSAINTS4 driveby_actor $PED car -1 point 0.0 0.0 0.0 radius 1000.0 8 0 firing_rate 70  

jump @Ped_Dead4
{:Ped_Target
wait 0 
if
0202: not actor $PED near_car $SAINTS_CARCOMING1 radius 13.0 13.0 sphere 0
else_jump @Drive_To
jf @Ped_Target
if
actor.Dead($PED)

jump @Ped_Dead}

:Ped_Dead4
wait 0 
if and
0AB0:   key_pressed 8
0AB0:   key_pressed 77
else_jump @Ped_Dead2
jf @Ped_Dead4
audiostream.Release($WAV16)
actor.RemoveReferences($PED)
actor.DestroyInstantly($CARSAINTS1)
actor.DestroyInstantly($CARSAINTS2)
actor.DestroyInstantly($CARSAINTS3)
actor.DestroyInstantly($CARSAINTS4)
car.Destroy($SAINTS_CARCOMING1)
jump @DRIVEBY2

:Ped_Dead2
wait 0
if or
actor.Dead($PED)
car.Wrecked($SAINTS_CARCOMING1)
else_jump @Drive_To   
jf @Ped_Dead2
audiostream.Release($WAV16)
//car.RemoveReferences($SAINTS_CARCOMING1)
//actor.RemoveReferences($CARSAINTS1)
//actor.RemoveReferences($CARSAINTS2)
//actor.RemoveReferences($CARSAINTS3)
//actor.RemoveReferences($CARSAINTS4)
actor.RemoveReferences($PED)
actor.DestroyInstantly($CARSAINTS1)
actor.DestroyInstantly($CARSAINTS2)
actor.DestroyInstantly($CARSAINTS3)
actor.DestroyInstantly($CARSAINTS4)
car.Destroy($SAINTS_CARCOMING1)


//:PED_SEEING

jump @Begin2